The present invention relates to computing and data processing, and in particular, to on-line analytic processing execution model using relational operations.
Unless otherwise indicated herein, the approaches described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
FIG. 1 shows a conventional data storage and analysis platform. Computer system 101 may include a data warehousing component 102 to store large volumes of historical data about an enterprise, for example. Data warehouse 102 may include loading (staging) components, format conversion components, and/or data consistency components, for example. Data warehouse 102 may load data into a datastore 105 through a relational engine 103. Datastore 105 may include one or more database and/or database management components. In a data warehousing application, as well as other data storage applications, data is stored as a star schema 106. A star schema stores data in one or more fact tables and multiple dimension tables.
Users may ask questions that are answerable using the stored data by submitting queries. Typically, queries are submitted to an on-line analytics processing component (OLAP) 107 executing on computer system 101. OLAP 107 may receive a query, such as a business question, and communicate with relational engine 103 to obtain the data necessary for answering the query. Some OLAP engines retrieve granular data from datastore 103 using a single query to relational engine 103 and cache or otherwise store large volumes of data locally to generate answers to OLAP queries. One disadvantage to this approach is that large volumes of data must be retrieved and updated regularly to maintain the accuracy of the OLAP query results. Other OLAP engines query cells in the datastore separately and at a granular level based on the input OLAP query. One disadvantage of this approach is the complexity required to generate granular queries and combine the results in the OLAP engine. Another disadvantage with this approach is that for complex user questions the number of cells can get very high and therefore the overall response time becomes very bad.
Thus, there is a need for improved technique for responding to OLAP queries. The present invention solves these and other problems by providing an OLAP execution model using relational operations.